#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QRegularExpression>
#include <QDateTime>
#include <QMessageBox>
#include <QJsonDocument>
#include <QJsonObject>
#include <QValueAxis>
#include <csignal>  // 添加这个头文件
#include <QNetworkInterface>  // 网络接口相关
#include <QHostAddress>       // IP地址处理
#include <QDebug>

void MainWindow::handleCommand303(const QMap<QString, QString> &params, QTcpSocket *client)
{
    // 格式: <ID=303><CamID=25078>
    if (!params.contains("CamID")) {
        sendResponse("<ID=303><INFO=Error><MSG=Missing_CamID>", client);
        return;
    }

    // 1. 返回确认响应
    sendResponse("<ID=303><INFO=OK>", client);

    // 2. 发送中止曝光指令
    sendCameraCommand("abort_290");

    // 3. 更新状态
    //hwStatus.cameraState = MainWindow::Idle;
    progressTimer->stop();
    ui->ExposureprogressBar->setValue(0);

    // 4. 返回完成响应
    QString response = QString("<ID=303><CamID=%1><INFO=OK><ACTION=DONE><SENDTIME=%2>;")
                           .arg(params["CamID"])
                           .arg(QDateTime::currentDateTime().toString("yyyyMMddhhmmss"));
    sendResponse(response, client);
}